home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine CD 1995 / Archive Magazine CD 1995.iso / discs / prog_disc / volume_8 / issue_10 / bc / TextProg < prev   
Encoding:
Text File  |  1995-03-28  |  1.4 KB  |  112 lines

  1. @% = "F3.3"
  2.  
  3. PROCconstants
  4.  
  5. REPEAT
  6.  
  7. INPUT "Pressure in mBar ? " Pmb
  8.  
  9. P = Pmb/100
  10.  
  11. IF P>=PL AND P<PM THEN T = FNTL(P)
  12. IF P>=PM AND P<PU THEN T = FNTU(P)
  13. IF P>=PU OR  P<PL THEN PRINT" Silly pressure - try again ":UNTIL FALSE
  14.  
  15. PRINT "                        Temperature ";T;" K"
  16.  
  17. UNTIL FALSE
  18. END
  19.  
  20. REM ------------------------------------------------
  21.  
  22. DEFFNTL(P)
  23. LOCAL pU, pL, pM, tU, tL, tM
  24. tU = TM: tL = TL
  25.  
  26.    pU = FNt76l(tU)
  27.    pL = FNt76l(tL)
  28.  
  29. REPEAT
  30.  
  31.    tM = (tU+tL)/2
  32.    pM = FNt76l(tM)
  33.  
  34.    IF P<pM THEN
  35.       tU = tM: pU = pM
  36.    ELSE
  37.       tL = tM: pL = pM
  38.    ENDIF
  39.  
  40. UNTIL tU-tL < EPS
  41. =(tU+tL)/2
  42.  
  43. DEFFNTU(P)
  44. LOCAL pU, pL, pM, tU, tL, tM
  45. tU = TU: tL = TM
  46.  
  47.    pU = PU
  48.    pL = FNt76u(tL)
  49.  
  50. REPEAT
  51.  
  52.    tM = (tU+tL)/2
  53.    pM = FNt76u(tM)
  54.  
  55.    IF P<pM THEN
  56.       tU = tM: pU = pM
  57.    ELSE
  58.       tL = tM: pL = pM
  59.    ENDIF
  60.  
  61. UNTIL tU-tL < EPS
  62. =(tU+tL)/2
  63.  
  64.  
  65.  
  66.  
  67. DEFPROCconstants
  68.  
  69. CM = -30.93285
  70. C0 = 392.47361
  71. C1 = -2328.04587
  72. C2 = 8111.30347
  73. C3 = -17809.80901
  74. C4 = 25766.52747
  75. C5 = -24601.4
  76. C6 = 14944.65142
  77. C7 = -5240.36518
  78. C8 = 807.93168
  79. C9 = 14.53333
  80.  
  81. BM = -7.41816
  82. B0 = 5.42128
  83. B1 = 9.903203
  84. B2 = -9.617095
  85. B3 = 6.804602
  86. B4 = -3.0154606
  87. B5 = 0.7461357
  88. B6 = -0.0791791
  89.  
  90. TU = 5.1953
  91. TM = 2.1768
  92. TL = 0.5
  93.  
  94. EPS = 0.001
  95.  
  96. PU = 227447.421
  97. PM = 5041.80643
  98. PL = 0.00206315
  99.  
  100. ENDPROC
  101.  
  102.  
  103.  
  104. DEFFNt76l(T)
  105. = EXP(BM/T+B0+B1*T+B2*T^2+B3*T^3+B4*T^4+B5*T^5+B6*T^6)
  106.  
  107.  
  108. DEFFNt76u(T)
  109. LOCAL X
  110. X = T/TU
  111. = EXP(CM/X+C0+C1*X+C2*X^2+C3*X^3+C4*X^4+C5*X^5+C6*X^6+C7*X^7+C8*X^8+C9*(1-X)^1.9)
  112.